package cn.stylefeng.guns.modular.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 *
 * 日程
 *
 * @author third_e
 * @create 2019/12/10 0010-上午 12:14
 */
@TableName("te_schedule")
public class Schedule implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "schedule_id",type = IdType.ID_WORKER)
    private Long scheduleId;

    /**
     * 日程名
     */
    @TableField("schedule_name")
    private String scheduleName;

    /**
     * 日程描述
     */
    @TableField("description")
    private String description;

    /**
     * 开始时间
     */
    @TableField("start_data")
    private String startData;

    /**
     * 结束时间
     */
    @TableField("end_data")
    private String endData;

    /**
     * 框架id
     */
    @TableField("frame_id")
    private long frameId;

    /**
     * 用户id
     */
    @TableField("user_id")
    private long userId;


    /**
     * 公开状态
     */
    @TableField("public_status")
    private String publicStatus;

    /**
     * 周数
     */
    @TableField("week_num")
    private Integer weekNum;

    /**
     * 天数
     */
    @TableField("day_num")
    private Integer dayNum;

    /**
     * 创建者
     */
    @TableField(value = "create_user", fill = FieldFill.INSERT)
    private Long createUser;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新者
     */
    @TableField(value = "update_user", fill = FieldFill.UPDATE)
    private Long updateUser;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 乐观锁
     */
    @TableField("version")
    private Integer version;

    /**
     * 日程项
     */
    @TableField(exist = false)
    private List<Scheduleitem> scheduleitems;

    public List<Scheduleitem> getScheduleitems() {
        return scheduleitems;
    }

    public void setScheduleitems(List<Scheduleitem> scheduleitems) {
        this.scheduleitems = scheduleitems;
    }

    @TableField(exist = false)
    private List<Frameitem> frameitems;

    public List<Frameitem> getFrameitems() {
        return frameitems;
    }

    public void setFrameitems(List<Frameitem> frameitems) {
        this.frameitems = frameitems;
    }

    /**
     * 查询今天日程时间
     */
    @TableField(exist = false)
    private String scheduleitemDay;

    public String getScheduleitemDay() {
        return scheduleitemDay;
    }

    public void setScheduleitemDay(String scheduleitemDay) {
        this.scheduleitemDay = scheduleitemDay;
    }

    public Long getScheduleId() {
        return scheduleId;
    }

    public void setScheduleId(Long scheduleId) {
        this.scheduleId = scheduleId;
    }

    public String getScheduleName() {
        return scheduleName;
    }

    public void setScheduleName(String scheduleName) {
        this.scheduleName = scheduleName;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getStartData() {
        return startData;
    }

    public void setStartData(String startData) {
        this.startData = startData;
    }

    public String getEndData() {
        return endData;
    }

    public void setEndData(String endData) {
        this.endData = endData;
    }

    public long getFrameId() {
        return frameId;
    }

    public void setFrameId(long frameId) {
        this.frameId = frameId;
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public String getPublicStatus() {
        return publicStatus;
    }

    public void setPublicStatus(String publicStatus) {
        this.publicStatus = publicStatus;
    }

    public Integer getWeekNum() {
        return weekNum;
    }

    public void setWeekNum(Integer weekNum) {
        this.weekNum = weekNum;
    }

    public Integer getDayNum() {
        return dayNum;
    }

    public void setDayNum(Integer dayNum) {
        this.dayNum = dayNum;
    }

    public Long getCreateUser() {
        return createUser;
    }

    public void setCreateUser(Long createUser) {
        this.createUser = createUser;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(Long updateUser) {
        this.updateUser = updateUser;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    @Override
    public String toString() {
        return "Schedule{" +
                "scheduleId=" + scheduleId +
                ", scheduleName='" + scheduleName + '\'' +
                ", description='" + description + '\'' +
                ", startData='" + startData + '\'' +
                ", endData='" + endData + '\'' +
                ", frameId=" + frameId +
                ", userId=" + userId +
                ", publicStatus='" + publicStatus + '\'' +
                ", weekNum=" + weekNum +
                ", dayNum=" + dayNum +
                ", createUser=" + createUser +
                ", createTime=" + createTime +
                ", updateUser=" + updateUser +
                ", updateTime=" + updateTime +
                ", version=" + version +
                '}';
    }
}
